//
//  BuddyStatusPacketProcess.h
//  HiQ
//
//  Created by shoguncao on 12-8-7.
//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//

#import <Foundation/Foundation.h>

#define BUDDY_STATUS_ONLINE     0x0000  // 好友状态：在线
#define BUDDY_STATUS_OFFLINE    0x0001  // 好友状态：离线

#define OP_STATUS_NOTIFY_ONLINE         0x0000  // 上线提醒
#define OP_STATUS_NOTIFY_OFFLINE        0x0001  // 下线提醒

#define ERR_NO_ERROR            0x0000  // 查询数据库无错误

#pragma pack(1)
typedef struct  // 上下线提醒包
{
    NSInteger type;         // 包类型
    NSInteger operation;    // 操作类型(上线、下线)
    NSInteger error;        // 是否有错误
    NSInteger userid_len;   // UserId 占用的字节数
    NSInteger userip_len;   // UserIp 占用的字节数
    // .... 放 userid 和 userip 等信息
} STATUSNOTIFYHRD;
#pragma pack()

#pragma pack(1)
typedef struct  // 上下线通知包
{
    NSInteger type;         // 包类型
    NSInteger operation;    // 操作类型(上、下线)
    NSInteger userid_len;   // UserId 占用的字节数
    // ... 放 UserId 等信息
} ONOFFLINEHRD;
#pragma pack()

@interface BuddyStatusPacketProcess : NSObject

- (void)onReceiveBuddyStatusNotify:(NSData *)data;  // 接到好友上、下线提醒包的处理
- (void)onOffLine:(NSNotification*)notification;  // 向服务器发送下线信息
- (NSString *)convertQQNumToString:(NSInteger)qqNum;    // 把 NSInteger 的qq号转换为 NSString 的

@end
